package com.lefevre.cms.bean.theme;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.*;
import java.io.Serializable;

/**
 * 版块管理
 *
 * @author Lefevre
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("forum")
@Entity
@Table(name = "forum")
public class Forum implements Serializable {
    private static final long serialVersionUID = 4228740311736894921L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @TableId(type = IdType.INPUT)
    private Integer id;

    /**
     * 布局Id
     **/
    @Column(length = 36)
    private String layoutId;

    /**
     * 版块名称
     **/
    @Column(length = 40)
    private String name;

    /**
     * 选择版块模板
     **/
    @Column(length = 80)
    private String module;

    /**
     * 模板显示类型    单层:monolayer  多层:multilayer  分页:page   实体对象:entityBean  集合:collection
     **/
    @Column(length = 10)
    private String displayType;

    /**
     * 版块类型
     **/
    @Column(length = 40)
    private String forumType;

    /**
     * 版块子类型
     **/
    @Column(length = 40)
    private String forumChildType;

    /**
     * 生成版块引用代码
     **/
    @Column(length = 100)
    private String referenceCode;

    /**
     * 模板目录名称
     **/
    @Column(length = 40)
    private String dirName;

    /**
     * 布局类型
     **/
    private Integer layoutType;

    /**
     * 布局文件
     **/
    @Column(length = 40)
    private String layoutFile;

    /**
     * 查询方式   0:数据库   1: lucene索引
     **/
    private Integer queryMode = 0;

    /**
     * 调用方式  1.引用代码  2.调用对象
     **/
    private Integer invokeMethod = 1;

    /**
     * 存放JSON格式扩展表单值  版块扩展对象类型
     **/
    @Lob
    private String formValue;

}
